Question ${} -diff .{} ?

Plus d'informations
il y a 15 ans 3 mois #8742 par jojo
${} -diff .{} ? a été créé par jojo
Bonjours les PowerShelleurs, :laugh:

Y'a t'il une différence entre .{} et &{}:

[code:1]$yo = &{
ps sv* | select -first 1
$y = 2
ls *
}
$yo

### et celle-ci:

$yo = .{
ps sv* | select -first 1
$y = 2
ls *
}
$yo[/code:1]


Une autre question: pourquoi la sortie est formatté comme une liste ?

merci :laugh:<br><br>Message édité par: jojo, à: 8/02/11 08:04

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 3 mois #8750 par de França
Réponse de de França sur le sujet Re:${} -diff .{} ?
Hello,

Je ne peut pas te répondre à te première question, mais pour ce qui est du format en liste je crois que c'est le paramètre par défaut de powershell.

Tu peux le modifier avec

Format-List
Format-Wide
Format-Table
Format-Custom

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 3 mois #8751 par de França
Réponse de de França sur le sujet Re:${} -diff .{} ?
Hello,

Je ne peut pas te répondre à te première question, mais pour ce qui est du format en liste je crois que c'est le paramètre par défaut de powershell.

Tu peux le modifier avec

Format-List
Format-Wide
Format-Table
Format-Custom

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 3 mois #8780 par xyz
Réponse de xyz sur le sujet Re:${} -diff .{} ?
Salut,
jojo écrit:

Y'a t'il une différence entre .{} et &amp;{}

Oui, la portée dans laquelle on exécute le scriptblock :
[code:1]
$sb={ new-variable MyScope \&quot;Test\&quot;}
rv myScope
#erreur

#Nouvelle portée/scope
&amp;$sb
gv myScope
#erreur

#Portée courante (DotSourcing)
.$sb
gv myScope
#
# Name Value
# ----
# MyScope Test
[/code:1]

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 3 mois #8785 par Jacques Barathon
Réponse de Jacques Barathon sur le sujet Re:${} -diff .{} ?
La raison pour laquelle tout sort au format liste alors que pour chaque commande tapée individuellement le résultat sortirait au format table, c'est sans doute que l'évaluation du format à appliquer se fait globalement pour l'ensemble de l'exécution du bloc et non pas commande par commande.

PowerShell essaie de présenter les informations au format table, mais surtout il essaie de tout présenter en une seule table. Du coup, comme les deux commandes retournent des objets de types différents et donc avec des propriétés différentes, il y a conflit dans les noms de propriétés d'un type d'objet à l'autre. PowerShell choisit donc le format liste.

On voit un comportement similaire quand on enchaîne des commandes sur une même ligne séparées par un point-virgule. Là, l'évaluation de la première commande se passe correctement (avec, encore, le choix par défaut d'un format table), mais si une série d'objets arrive avec des propriétés différentes, c'est le format liste qui est retenu. Ce qui est amusant, c'est que si plus loin sur la même ligne le type d'objet initial est à nouveau retourné, la table reprend comme si elle n'avait pas été interrompue.

Deux exemples qui illustrent ça :

[code:1]
# un Script Block avec deux commandes retournant le même type d'objet =&gt; sortie au format table :

PS&gt; &amp;{gps sv* | select -first 1
&gt;&gt; gps po*
&gt;&gt; }
&gt;&gt;

Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName





--
2250 52 24564 81592 153 331,06 212 svchost
393 9 47192 50428 165 3,81 3972 powershell
388 6 52732 12120 154 2,80 5708 powershell

# une ligne qui enchaîne 3 commandes qui retournent des process, des fichiers
# puis à nouveau des process :

PS&gt; gps po*; dir c:\config.*; gps svc*|select -first 2

Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName





--
384 9 47160 50408 164 3,83 3972 powershell
393 6 50380 18284 154 2,89 5708 powershell

LastWriteTime : 10/02/2009 18:43:10
Length : 0
Name : CONFIG.SYS

2251 52 24348 81328 152 331,56 212 svchost
88 4 2104 25060 32 2,17 380 svchost
[/code:1]<br><br>Message édité par: janel, à: 9/02/11 14:09

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.046 secondes
Propulsé par Kunena